Pooling Problem go Couenne GAMS short 0), sum(comp$(ubq(comp, pool) > 0), cprice(comp)*y(pool,pro)*q(comp,pool))) - pprice(pro)*sum(pool$(uby(pool,pro) > 0), y(pool, pro)) + sum(comp$(ubz(comp,pro)>0), (cprice(comp)-pprice(pro))*z(comp, pro)) ); clower(comp).. sum(pool$(ubq(comp,pool)>0), sum(pro$(uby(pool,pro)>0), q(comp,pool)*y(pool, pro))) + sum(pro$(ubz(comp,pro)>0), z(comp, pro)) =g= cl(comp); cupper(comp).. sum(pool$(ubq(comp,pool)>0), sum(pro$(uby(pool,pro)>0), q(comp,pool)*y(pool, pro))) + sum(pro$(ubz(comp,pro)>0), z(comp, pro)) =l= cu(comp); pszrlt(comp,pool)$(ubq(comp,pool)>0).. sum(pro$(uby(pool,pro)>0), q(comp,pool)*y(pool,pro)) =l= q(comp,pool)*psize(pool); plower(pro).. sum(pool$(uby(pool,pro)>0), y(pool,pro)) + sum(comp$(ubz(comp, pro)>0), z(comp, pro)) =g= prl(pro); pupper(pro).. sum(pool$(uby(pool,pro)>0), y(pool,pro)) + sum(comp$(ubz(comp, pro)>0), z(comp, pro)) =l= pru(pro); pqlower(pro, qual).. sum(pool$(uby(pool,pro)>0), sum(comp$(ubq(comp,pool)>0), cqual(comp, qual)*q(comp,pool)*y(pool,pro))) + sum(comp$(ubz(comp, pro)>0), cqual(comp, qual)*z(comp, pro)) =g= sum(pool$(uby(pool,pro)>0), pqlbd(pro, qual)*y(pool,pro)) + sum(comp$(ubz(comp, pro)>0), pqlbd(pro, qual)*z(comp, pro)); pqupper(pro, qual).. sum(pool$(uby(pool,pro)>0), sum(comp$(ubq(comp,pool)>0), cqual(comp, qual)*q(comp,pool)*y(pool,pro))) + sum(comp$(ubz(comp, pro)>0), cqual(comp, qual)*z(comp, pro)) =l= sum(pool$(uby(pool,pro)>0), pqubd(pro, qual)*y(pool,pro)) + sum(comp$(ubz(comp, pro)>0), pqubd(pro, qual)*z(comp, pro)); fraction(pool).. sum(comp$(ubq(comp,pool)>0), q(comp, pool)) =e= 1; extensions(pool, pro)$(uby(pool,pro)>0).. sum(comp$(ubq(comp,pool)>0), q(comp, pool)*y(pool, pro)) =e= y(pool, pro); model poolprob /all/; solve poolprob minimizing cost using nlp; ]]>